/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sessionFacades;

import businessObjects.Esquema;
import businessObjects.Estado;
import businessObjects.Pauta;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import services.PautaServicesLocal;

/**
 *
 * @author williamprado
 */
@Stateless
public class PautaFacade implements PautaFacadeRemote {
    /*@PersistenceContext(unitName = "Adz-ejbPU")
    private EntityManager em;*/

    @EJB
    private PautaServicesLocal pautaServices;

    public void guardarPauta(Pauta pauta) {
            pautaServices.nuevaPauta(pauta);
    }

    public void actualizarPauta(Pauta pauta) {
            pautaServices.actualizarPauta(pauta);
    }

    public void eliminarPauta(int id) {
            pautaServices.eliminarPauta(id);
    }

    public Pauta consultarPauta(int id) {
        Pauta pauta = pautaServices.consultarPauta(id);
        return pauta;
    }

    public Esquema findEsquema(int id){
        return pautaServices.obtenerEsquema(id);
    }

    public Estado findEstado(int id){
        return pautaServices.obtenerEstado(id);
    }

    public List<Pauta> consultarPautasBasicas() {
        List<Pauta> lp = pautaServices.pautasBasicas();
        return lp;
    }

    public List<Pauta> consultarPautasPremium() {
        List<Pauta> lp = pautaServices.pautasPremium();
        return lp;
    }

    public List<Pauta> consultarPautasCliente(String idCliente) {
        List<Pauta> lp = pautaServices.pautasCliente(idCliente);
        return lp;
    }

    



    /*public void create(Pauta pauta) {
        em.persist(pauta);
    }

    public void edit(Pauta pauta) {
        em.merge(pauta);
    }

    public void remove(Pauta pauta) {
        em.remove(em.merge(pauta));
    }

    public Pauta find(Object id) {
        return em.find(Pauta.class, id);
    }

    public List<Pauta> findAll() {
        CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
        cq.select(cq.from(Pauta.class));
        return em.createQuery(cq).getResultList();
    }

    public List<Pauta> findRange(int[] range) {
        CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
        cq.select(cq.from(Pauta.class));
        Query q = em.createQuery(cq);
        q.setMaxResults(range[1] - range[0]);
        q.setFirstResult(range[0]);
        return q.getResultList();
    }

    public int count() {
        CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
        Root<Pauta> rt = cq.from(Pauta.class);
        cq.select(em.getCriteriaBuilder().count(rt));
        Query q = em.createQuery(cq);
        return ((Long) q.getSingleResult()).intValue();
    }*/

}
